// ============================== 导入依赖 ============================== //

import CORE from '../UTIL'

import BASE from './BASE'
import INFO from './INFO'
import MODAL from './MODAL'
import SUBMIT from './SUBMIT'

// ============================== 状态集 ============================== //

const state = {
  // —————————————————————————————— 数据 —————————————————————————————— //

  /**
   * 首要开关
   *
   * 1. 初始化完成时调用
   * 2. 提交后刷新时调用
   * 3. 到循环周期时调用
   */
  MAIN_START: 'startInfo', // 'startInfo' 或 'startList' 或 'startOne' 或 ''

  /**
   * 循环周期 (单位秒，默认 10 分钟)
   */
  LOOP_PERIOD: 600,

  /**
   * 动画周期 (单位秒，默认 2 秒钟)
   */
  ANIM_PERIOD: 2,

  // —————————————————————————————— 开关 —————————————————————————————— //

  /**
   * 循环开关
   */
  loop: true,

  /**
   * 动画开关
   */
  anim: true,
}

// ============================== 同步更新 ============================== //

const mutations = {
  /**
   * 加入循环
   */
  joinLoop(state) {
    state.loop = true
  },

  /**
   * 退出循环
   */
  quitLoop(state) {
    state.loop = true
  },

  /**
   * 播放动画
   */
  playAnim(state) {
    state.anim = true
  },

  /**
   * 暂停动画
   */
  pauseAnim(state) {
    state.anim = false
  },
}

// ============================== 导出仓库 ============================== //

export default CORE.merge({}, BASE, INFO, MODAL, SUBMIT, { state, mutations })
